babl: make use of more direct trc dispatch in base
authorØyvind Kolås <pippin@gimp.org>
Wed, 30 Aug 2017 15:43:10 +0000 (17:43 +0200)
committerØyvind Kolås <pippin@gimp.org>
Wed, 30 Aug 2017 15:43:10 +0000 (17:43 +0200)
babl/base/model-gray.c
babl/base/model-rgb.c

index 36eff162062f417afea74cd25129244052d9d3e2..a7ad2a67e4251ee28e208b2d1595c4355dd439f3 100644 (file)
@@ -206,7 +206,7 @@ rgb_to_gray_2_2 (Babl  *conversion,
       luminance = red   * RGB_LUMINANCE_RED +    // XXX: should be taken from BablSpace
                   green * RGB_LUMINANCE_GREEN +
                   blue  * RGB_LUMINANCE_BLUE;
-      *(double *) dst[0] = _babl_trc_from_linear (trc, luminance);
+      *(double *) dst[0] = trc->trc.fun_from_linear (trc, luminance);
 
       if (dst_bands == 2)
         *(double *) dst[1] = alpha;
@@ -237,7 +237,7 @@ gray_2_2_to_rgb (Babl *conversion,
       double red, green, blue;
       double alpha;
 
-      luminance = _babl_trc_to_linear (trc, *(double *) src[0]);
+      luminance = trc->trc.fun_to_linear (trc, *(double *) src[0]);
       red       = luminance;
       green     = luminance;
       blue      = luminance;
@@ -485,7 +485,7 @@ rgba2gray_gamma_2_2_premultiplied (Babl *conversion,
       luminance = red * RGB_LUMINANCE_RED +
                   green * RGB_LUMINANCE_GREEN +
                   blue * RGB_LUMINANCE_BLUE;
-      luma = _babl_trc_from_linear (trc, luminance);
+      luma = trc->trc.fun_from_linear (trc, luminance);
 
       ((double *) dst)[0] = luma * alpha;
       ((double *) dst)[1] = alpha;
@@ -513,7 +513,7 @@ gray_gamma_2_2_premultiplied2rgba (Babl *conversion,
       double luminance;
 
       luma      = luma / alpha;
-      luminance = _babl_trc_to_linear (trc, luma);
+      luminance = trc->trc.fun_to_linear (trc, luma);
 
       ((double *) dst)[0] = luminance;
       ((double *) dst)[1] = luminance;
index bb660a8a67243ca2fa037154cb6e1e03af01113c..27a080edf71c78a72ea64b96aec02d8b44726b71 100644 (file)
@@ -201,7 +201,7 @@ g3_gamma_2_2 (Babl  *conversion,
     {
       int band;
       for (band = 0; band < 3; band++)
-        *(double *) dst[band] = _babl_trc_from_linear (trc[band], (*(double *) src[band]));
+        *(double *) dst[band] = trc[band]->trc.fun_from_linear (trc[band], (*(double *) src[band]));
       for (; band < dst_bands; band++)
         *(double *) dst[band] = *(double *) src[band];
 
@@ -231,7 +231,7 @@ g3_inv_gamma_2_2 (Babl  *conversion,
       int band;
       for (band = 0; band < 3; band++)
         {
-          *(double *) dst[band] = _babl_trc_to_linear (trc[band], (*(double *) src[band]));
+          *(double *) dst[band] = trc[band]->trc.fun_to_linear (trc[band], (*(double *) src[band]));
         }
       for (; band < dst_bands; band++)
         {
@@ -327,9 +327,9 @@ rgba2rgba_gamma_2_2_premultiplied (Babl *conversion,
   while (n--)
     {
       double alpha = ((double *) src)[3];
-      ((double *) dst)[0] = _babl_trc_from_linear (trc[0], ((double *) src)[0]) * alpha;
-      ((double *) dst)[1] = _babl_trc_from_linear (trc[1], ((double *) src)[1]) * alpha;
-      ((double *) dst)[2] = _babl_trc_from_linear (trc[2], ((double *) src)[2]) * alpha;
+      ((double *) dst)[0] = trc[0]->trc.fun_from_linear (trc[0], ((double *) src)[0]) * alpha;
+      ((double *) dst)[1] = trc[0]->trc.fun_from_linear (trc[1], ((double *) src)[1]) * alpha;
+      ((double *) dst)[2] = trc[0]->trc.fun_from_linear (trc[2], ((double *) src)[2]) * alpha;
       ((double *) dst)[3] = alpha;
       src                += 4 * sizeof (double);
       dst                += 4 * sizeof (double);
@@ -353,9 +353,9 @@ rgba_gamma_2_2_premultiplied2rgba (Babl *conversion,
       double alpha = ((double *) src)[3];
       if (alpha > BABL_ALPHA_THRESHOLD)
         {
-          ((double *) dst)[0] = _babl_trc_to_linear (trc[0], ((double *) src)[0] / alpha);
-          ((double *) dst)[1] = _babl_trc_to_linear (trc[1], ((double *) src)[1] / alpha);
-          ((double *) dst)[2] = _babl_trc_to_linear (trc[2], ((double *) src)[2] / alpha);
+          ((double *) dst)[0] = trc[0]->trc.fun_to_linear (trc[0], ((double *) src)[0] / alpha);
+          ((double *) dst)[1] = trc[1]->trc.fun_to_linear (trc[1], ((double *) src)[1] / alpha);
+          ((double *) dst)[2] = trc[2]->trc.fun_to_linear (trc[2], ((double *) src)[2] / alpha);
         }
       else
         {
@@ -385,9 +385,9 @@ rgba2rgba_gamma_2_2 (Babl *conversion,
   while (n--)
     {
       double alpha = ((double *) src)[3];
-      ((double *) dst)[0] = _babl_trc_from_linear (trc[0], ((double *) src)[0]);
-      ((double *) dst)[1] = _babl_trc_from_linear (trc[1], ((double *) src)[1]);
-      ((double *) dst)[2] = _babl_trc_from_linear (trc[2], ((double *) src)[2]);
+      ((double *) dst)[0] = trc[0]->trc.fun_from_linear (trc[0], ((double *) src)[0]);
+      ((double *) dst)[1] = trc[1]->trc.fun_from_linear (trc[1], ((double *) src)[1]);
+      ((double *) dst)[2] = trc[2]->trc.fun_from_linear (trc[2], ((double *) src)[2]);
       ((double *) dst)[3] = alpha;
       src                += 4 * sizeof (double);
       dst                += 4 * sizeof (double);
@@ -409,9 +409,9 @@ rgba_gamma_2_22rgba (Babl *conversion,
   while (n--)
     {
       double alpha = ((double *) src)[3];
-      ((double *) dst)[0] = _babl_trc_to_linear (trc[0], ((double *) src)[0]);
-      ((double *) dst)[1] = _babl_trc_to_linear (trc[1], ((double *) src)[1]);
-      ((double *) dst)[2] = _babl_trc_to_linear (trc[2], ((double *) src)[2]);
+      ((double *) dst)[0] = trc[0]->trc.fun_to_linear (trc[0], ((double *) src)[0]);
+      ((double *) dst)[1] = trc[1]->trc.fun_to_linear (trc[1], ((double *) src)[1]);
+      ((double *) dst)[2] = trc[2]->trc.fun_to_linear (trc[2], ((double *) src)[2]);
       ((double *) dst)[3] = alpha;
 
       src += 4 * sizeof (double);